In some conventional ignition timing control systems for an internal combustion engine, the ignition timing is so controlled that a trace (low level) combustion knock occurs in the combustion chambers. It is well known that continued engine operation under high intensity of combustion knock (detonation) is undesirable since it results in physical damage to the engine and in loss of power. However, especially in a low speed operating range, it is advantageous that trace knock continuously occurs for the engine output, and the fuel consumption characteristic. Since the ignition timing influences the tendency of occurrence of combustion knock, the ignition timing is controlled (advanced or retarded) to maintain such trace combustion knock in the internal combustion engine. In the above described conventional ignition timing control system, the ignition timng is determined equally or uniformly throughout all of the cylinders of an internal combustion engine without analysis of the variation of the intensity of combustion knock in each cylinder. However, the optimal ignition timing for each cylinder is usually different from one another since the tendency of occurrence of combustion knock in each cylinder is different from each other due to various reasons such as an irregular distribution of an air/fuel mixture. Therefore, when the ignition timings of all cylinders are determined, either combustion knock takes place mainly in some specific cylinders due to an excessively advanced angle of the ignition timing or no combustion knock occurs at all in some specific cylinders due to an excessively retarded angle of the ignition timing. This means that optimal ignition timings for respective cylinders are not obtained in such a conventional control system and therefore, the engine output and fuel consumption characteristic get worse when the conventional ignition timing control system is employed.